package com.syu.loopcure.compensator.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 工具hydee-tool-core中补偿机制信息记录表
 * </p>
 *
 * @author zhucun
 * @since 2020-08-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ToolCureCompensator implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 业务主键,md5(className + methodName + methodParamValues)
     */
    private String md5Code;

    /**
     * 全类名(即包名+类名)
     */
    private String className;

    /**
     * 方法名
     */
    private String methodName;

    /**
     * 参数值
     */
    private String methodParamValues;

    /**
     * 重试次数
     */
    private Integer retryTimes;

    /**
     * 重试开始时间
     */
    private Date retryStartTime;

    /**
     * 重试结束时间
     */
    private Date retryEndTime;

    /**
     * 最大重试次数
     */
    private Integer maxRetryTimes;

    /**
     * 重试时间间隔（秒）,每次间隔相同，填写单一数字，譬如：60;每次间隔不同，填写多个数字且使用逗号连接，譬如：60,300;
     */
    private String waitSeconds;

    /**
     * 补偿状态,1：失败待补偿；2：取消补偿；3：补偿成功；4：重试次数达上限不再补偿
     */
    private String status;

    /**
     * 错误信息（失败时入库信息）
     */
    private String failMsg;

    /**
     * 成功信息（补偿成功记录补偿结果）
     */
    private String successMsg;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date modifyTime;


}
